package net.ojbk.util;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.util.Random;

/**
 * public static BufferedImage getVerifyImage(String str) { // 生成制定 字符串的 的图片验证码
 * 
 * 
 * @author twobox
 *
 */
public class ImageTool {
	public static Random random = new Random();
	public static BufferedImage getVerifyImage(String str) { // 生成制定 字符串的 的图片验证码
		int width = 100; // 设置宽度
		int height = 30; // 设置高度
		
		Color color = ColorTool.getRandomColor();
		Color reverse = ColorTool.getReverseColor(color);
		
		BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
		// 获取 一张彩色图片
		Graphics2D g = bi.createGraphics();
		// 获取 绘图对象
		g.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 16));
		// 设置字体
		g.setColor(color);
		g.fillRect(0, 0, width, height);
		g.setColor(reverse);
		g.drawString(str, 18, 20); // 绘制 随机字符
		
		for (int i=0, n = random.nextInt(200); i < n; i++); {
			// 绘制 最多 100个 噪音点
			g.drawRect(random.nextInt(width), random.nextInt(height), 2, 2);
		}
		return bi;
	}
	
	public static BufferedImage getRandomVerifyImage(StringBuffer str) { //  获取随机验证码，StringBuffer返回验证码真值
		String strTemp = StringTool.getRandomString(6);
		str.replace(0,str.length(), strTemp);
		
		return getVerifyImage(strTemp);
	}
	
	public static void main(String[] args) {
		
	}
}
